The present invention relates to a system and a method for handling a data refresh procedure in a production execution system.
In the world of process automation and process monitoring standard automation systems for controlling the widest conceivable variety of machines and plants are state of the art. Such technology covers in particular a broad range of products which are offered by the Siemens Corp. under its SIMATIC® product family with the field of manufacturing execution systems (MES). An extensive line of products for solving the technical tasks in question such as counting, measuring, positioning, motion control, closed-loop control and cam control enhance the performance capabilities of appropriate process controllers. A variety of configurations enable the implementation of flexible machine concepts.
In this context, a broad range of IT solutions exist to connect the actual hard ware close to the technical and/or logistical process to the application layer of the client driving the installation. Manufacturing execution systems have been developed to meet all of the requirements of a service oriented architecture (SOA) to integrate into a totally integrated automation (TIA). A plug & play architecture, in which the individual functions can be easily combined and configured with each other thereby forms the basis for this success thereby simplifying the complex structures of controlling a manufacturing plant or the like.
These demands often require in the backbone rather complicated and sophisticated software solutions which enable the approach of totally integrated automation. In view of this, the software engineers often use production moduler to define the plant model and its standard operating procedures and create the respective new software by means of a high level graphical language which identifies the workflow of activities within the software. Subsequently, this string/term of high level graphical language is translated into a client based software language executable on the machine language level. This translation requires tremendous efforts in programming and needs serious testing to check whether the translated program behaves the same as the original string/term of the high level graphical language.
Further, a demand for displaying data exists for the purpose of controlling and monitoring the plant operation. The presentation logic for displaying the data is today widely independent from the business logic that define the operating procedures according to the plant model. Therefore, two mechanisms are normally used to manage the presentation logic.
The first mechanism is polling of data meaning every presentation client periodically asks the main process control system for new data handled on a data server. Often, the main control system is overloaded by this mechanism since useless requests have to be executed causing network traffic competing with the normal operation workflow of the business logic. Unfortunately, if data do not change frequently, most requests according to this mechanism are useless and a burden to the process control system.
The second mechanism can be strapline-like described as a publish-subscribe-mechanism as this is known, for example, for the CORBA messaging service. Following this mechanism, each presentation client subscribes itself to receive refreshed data when they are available. This mechanism is significantly better than the first one, but the logic required to set-up the subscription and the execution is not at all connected to the business logic that is designed and executed by the production modeler. As such, this mechanism cannot be optimized and tuned according to the real system capacity since the data refresh procedure has to be programmed individually at the presentation client.
For these reasons, the business logic and the presentation logic must be intensively mixed and connected to each other which requires a tremendous amount of coordination between those two logical areas. In addition, the coordination is often a source for failures since the users have to manage the business logic and the presentation logic using different configuration tools or development environments.